home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 009 / unprotec.arc / LD13.ARC / LDS.ASM next >
Assembly Source File  |  1985-09-08  |  2KB  |  130 lines

  1. ;
  2. ;Symphony 1.0, 1.1 and LOTUS 123 unprotect with out mods to pgm
  3. ;
  4. ;modified for SYMPHONY 1.1 by P.B.  08/30/85
  5. ;
  6.  
  7. CSEG    SEGMENT
  8.     ASSUME DS:CSEG, SS:CSEG ,CS:CSEG ,ES:CSEG
  9.  
  10.     ORG    0100H
  11.  
  12. FIRST:    JMP    INIT
  13.  
  14. BCKADR    DB    4 DUP(0)
  15. SERIAL    DB    'LD 1.2  by P.B.'
  16.  
  17. UNPROT    PROC    FAR
  18.     STI
  19.     CMP    CL,19H
  20.     JNZ    UNPR1
  21.     PUSH    DS
  22.     PUSH    SI
  23.     PUSH    DI
  24.     PUSH    CX
  25.     PUSH    CS
  26.     POP    DS
  27.     MOV    SI,OFFSET SERIAL
  28.     MOV    DI,BX
  29.     MOV    CX,0FH
  30.     CLD
  31.     REPZ    MOVSB
  32.     POP    CX
  33.     POP    DI
  34.     POP    SI
  35.     POP    DS
  36.     JMP    SHORT    NOSER
  37.  
  38. UNPR1:    CMP    CL,20H
  39.     JZ    UNPR2
  40.     CMP    CL,30H
  41.     JZ    UNPR2
  42.     CMP    CL,40H
  43.     JZ    UNPR2
  44.     CMP    CL,63H    ;symphony 1.1
  45.     JNZ    UNPR3
  46.     MOV    AH,4
  47.     JMP    SHORT UNPR7
  48.  
  49. UNPR2:    MOV    AH,10H
  50.     JMP    SHORT    UNPR7
  51.  
  52. UNPR3:    PUSH    BP
  53.     MOV    BP,SP
  54.     CMP    WORD PTR [BP+2],OFFSET 0A8ABH
  55.     JZ    UNPR4
  56.     CMP    WORD PTR [BP+2],OFFSET 0A88BH
  57.     JZ    UNPR4
  58.     CMP    WORD PTR [BP+2],OFFSET 66F4H
  59.     JZ    UNPR5
  60.     CMP    WORD PTR [BP+2],OFFSET 0C3H    ;symphony 1.1
  61.     JZ    UNPR5
  62.     POP    BP
  63.     JMP    SHORT    BACK
  64.  
  65. UNPR4:    CMP    CL,8
  66.     JNZ    UNPR6
  67. UNPR5:    XOR    AH,AH
  68.     POP    BP
  69. NOSER:    CLC
  70.     RET    2
  71.  
  72. UNPR6:    MOV    AH,2
  73.     POP    BP
  74. UNPR7:    STC
  75.     RET    2
  76.  
  77. BACK:    JMP    DWORD PTR    CS:BCKADR
  78. UNPROT    ENDP
  79.  
  80.  
  81.  
  82.  
  83.  
  84. INIT    PROC    NEAR    
  85.     CLI
  86.     PUSH    CS
  87.     POP    ES
  88.     PUSH    DS
  89.     MOV    SI,4CH
  90.     XOR    AX,AX
  91.     MOV    DS,AX
  92.     MOV    DI,OFFSET BCKADR
  93.     CMP    WORD PTR [SI],OFFSET UNPROT
  94.     JNZ    DOIT
  95.     POP    DS
  96.     MOV    DX,OFFSET MSG2
  97.     MOV    AH,9
  98.     INT    21H
  99.     RET
  100.  
  101. DOIT:    MOV    CX,4
  102.     CLD
  103.     REPZ    MOVSB
  104.     POP    DS
  105.     MOV    DI,60H
  106.     MOV    SI,OFFSET FIRST
  107.     MOV    CX,OFFSET INIT-OFFSET FIRST+1
  108.     REPZ    MOVSB
  109.     PUSH    DS
  110.     MOV    DX,OFFSET UNPROT
  111.     MOV    AX,DS
  112.     SUB    AX,0AH
  113.     MOV    DS,AX
  114.     MOV    AX,2513H
  115.     INT    21H
  116.     POP    DS
  117.     MOV    DX,OFFSET MSG1
  118.     MOV    AH,9
  119.     INT    21H
  120.     MOV    DX,OFFSET SERIAL
  121.     STI
  122.     INT    27H
  123. MSG1    DB    'LD 1.2 unprotect SYMPHONY 1.0, 1.1 and LOTUS 123 loaded.$'
  124. MSG2    DB    'LD 1.2 already loaded in memory.$'
  125. INIT    ENDP
  126.  
  127.     CSEG    ENDS
  128. ;
  129. END    FIRST
  130.